angular.module("module.goodsManage",[])
    .config(['$stateProvider',function ($stateProvider) {
        $stateProvider
            .state('home.goodsManage',{
                url:"/goodsManage",
                templateUrl:"goodsManage/goodsManage.html",
                controller:'GoodsManageController',
                controllerAs:'vm'
            })
    }])
    .controller('GoodsManageController',[function () {
        var vm=this
        //通过修改页面url路径，解决一开始进入数据加载出错问题
        var pathname = window.location.pathname;
        if(pathname!="/store/goodsManage"){
            window.location.pathname="/goodsManage";
        }
        //console.log("shopId=",shopId);
        $.getJSON("printList",{shopId:shopId},function (res) {
//    console.log("printList_res=",res);
//    console.log("printList_res.data=",res.data);
//    console.log("printList_res.data.datalist",res.data.dataList);
            data.printList=res.data.dataList;
//    console.log("367 data.printList",data.printList);
            //实现标签页功能
            $('.gn_tabs a').click(function(e) {
//        console.log(e);
                e.preventDefault();
                //    这里调用了boostrap的tap(),实现了标签页的功能呢;
                $(this).tab('show');
                var tmpl = e.target.hash.replace('#','');
                loadpage(tmpl);
            });

            /*  根据选择的标签页及标签页对应的页面元素上的page属性对页面数据赋值
             给各个不同列表中的按钮附上click调用函数，给分页的页码附上click调用函数*/
            function loadpage(tmpl){
                //    根据传入的标签页得到活动的列表；接着取得列表模块的page属性；
                if (!tmpl) tmpl = 'goods';
//        console.log("tmpl"+tmpl);
                var tmplObj = $('#'+tmpl);
                var url = tmplObj.attr('url') || '', page = tmplObj.attr('page') || 1;
                var goodsPinyin=tmplObj.data("goodsPinyin");
                url += '?pi=' + page;
                /*    console.log("shopList",shopList);
                    console.log("shopList[0]",shopList[0]);
                    console.log("shopList.shopList[0].shopId",shopList.shopList[0].shopId);
                    var shopId=$("#shopList").data("shopId")||shopList.shopList[0].shopId;
                    console.log("goodsPinyin",goodsPinyin);*/
                if (goodsPinyin)url += '&goodsPinyin=' + goodsPinyin;
                url+='&shopId='+shopId;
//        console.log("url",url);
                //  根据选择的标签页及标签页对应的页面元素上的page属性对页面数据赋值
                // 给各个不同列表中的按钮附上click调用函数，给分页的页码附上click调用函数
                switch(tmpl){
                    case 'goodstype': // 功能设置
                        $.getJSON(url, function(res){
                            if (!res.succeed) return toast('获取数据失败，失败原因：'+res.message);
                            res.data.appId = data.appId;
//                    console.log("res.data",res.data);
                            //              填充页面模板
                            tmplObj.html(template(tmpl+'_tmpl', res.data));

                            //              为删除按钮添加click事件(确认删除弹窗；弹窗确认后删除数据库数据)
                            tmplObj.find('.del').on('click', function(){
                                var i = $(this).attr('data-i');
                                var vo = res.data.dataList[i];
                                winAlert({body:'您确定要删除么？',
                                    fun:function(){
                                        $.post('/store/goodsTypeDel', {id:vo.id},function(rs){
                                            try{rs=JSON.parse(rs);}catch(e){}
                                            if (!rs.succeed) return toast('操作失败，失败原因：'+rs.message);
                                            toast('操作成功,重新加载中...', 'success');
                                            loadpage(tmpl);
                                        });
                                        return true;
                                    }, cancel:'取消'});
                            });

                            //              为新增分类和编辑按钮添加click事件(编辑浮窗；弹窗确认后修改数据库数据)
                            tmplObj.find('.tabright .btn, .edit').on('click', function(){
                                var i = $(this).attr('data-i');
                                var vo={};
                                $.extend(true,vo, res.data.dataList[i]);
                                vo.shopId=shopId;
//                        不用这段代码是为了让编辑的时候一定会有输入折扣的框出现
                                if(vo.discountLimit){
                                    vo.discountLimit=vo.discountLimit.split(",");
                                }else {
                                    vo.discountLimit=[""]
                                }
//                        vo.discountLimit=vo.discountLimit.split(",");
//                        console.log("vo",vo);
//                        console.log("res.data.dataList[i]",res.data.dataList[i]);
                                winAlert({body:template(tmpl+'_edit_tmpl', vo),title:'分类编辑'
                                });
                                function addDiscountLimit() {
                                    $("#discountLimitList_div").append(template("discountLimitList_div_tmpl"));
                                    var subtract_div=$("[name=discountLimit_div]");
                                    var subtract=subtract_div.find(".glyphicon-minus");
                                    subtract.off().on("click",function () {
                                        $(this).parent().remove();
                                    })
                                }
                                $("[name=discountLimit_div]").find(".glyphicon-minus").off()
                                    .on("click",function () {
                                        $(this).parent().remove();
                                    });
//                        addDiscountLimit();
                                var add =$("#discountLimit_tr").find(".glyphicon-plus");
                                add.off().on("click",function(){addDiscountLimit()});
                                //                  为表单部分添加上数据验证和提交数据的功能
                                checkfrom(function(para){
                                    $.post('goodsTypeSave', para, function(rs){
                                        try {rs=JSON.parse(rs);}catch(e){}
                                        if (!rs.succeed) return toast((para.id?'编辑':'添加')+'分类失败，失败原因：'+rs.message);
                                        toast('操作成功,重新加载中...', 'success');
                                        loadpage(tmpl);
                                        $('.winAlert').remove();
                                    })
                                }, $('.winAlert .from_table'), $('.winAlert .sure'));
                            });

                            //              给页码部分附上功能；
                            topage(tmpl);
                        });
                        break;

                    case 'jifen':
                        $.getJSON(url, function(res){
                            if (!res.succeed) return toast('获取数据失败，失败原因：'+res.message);
                            //               填充页面模板
                            tmplObj.html(template(tmpl+'_tmpl', res.data));

                            //              给页码部分附上功能
                            topage(tmpl);


                            //              为编辑和新增积分商品按钮附上修改积分商品的功能
                            editjifen(res.data.dataList, tmplObj, tmpl);

                            //              为下架按钮添加功能
                            tmplObj.find('.xiajia').on('click', function(){
                                var i = $(this).attr('data-i');
                                var vo = res.data.dataList[i];
                                winAlert({body:'您确定要'+(vo.status==1?'下架':'上架')+'么？',
                                    fun:function(){
                                        $.post('/store/goodsScoreStatus', {id:vo.id, status:Number(!vo.status)},function(rs){
                                            try{rs=JSON.parse(rs);}catch(e){}
                                            if (!rs.succeed) return toast('操作失败，失败原因：'+rs.message);
                                            loadpage(tmpl);
                                            toast('操作成功,重新加载中...', 'success');
                                        });
                                        return true;
                                    }, cancel:'取消'});
                            });
                        });
                        break;

                    case 'goods':
                        // if ($.trim(tmplObj.html())) return false;
                        $.getJSON(url, function(res){
//                    console.log("goods_res",res);
                            if (!res.succeed) return toast('获取数据失败，失败原因：'+res.message);
                            //               填充页面模板
//                    console.log(res.data);
                            tmplObj.html(template(tmpl+'_tmpl', res.data));

                            //              为下架按钮添加功能
                            tmplObj.find('.xiajia').on('click', function(){
                                var i = $(this).attr('data-i');
                                var vo = res.data.dataList[i];
                                winAlert({body:'您确定要'+(vo.status==1?'下架':'上架')+'么？',
                                    fun:function(){
                                        $.post('/store/goodsStatus', {id:vo.id, status:Number(!vo.status)},function(rs){
                                            try{rs=JSON.parse(rs);}catch(e){}
                                            if (!rs.succeed) return toast('操作失败，失败原因：'+rs.message);
                                            loadpage(tmpl);
                                            toast('操作成功,重新加载中...', 'success');
                                        });
                                        return true;
                                    }, cancel:'取消'});
                            });


                            //              为修改商品按钮附上修改商品的功能
                            editgoods(res.data.dataList, tmplObj, tmpl);
//                  为保存商品按钮附上保存商品的功能
                            savegoods(res.data.dataList, tmplObj, tmpl);
                            //              给页码部分附上功能
                            topage(tmpl);
                        });
                        break;

                    case 'searchGoodList':
                        // if ($.trim(tmplObj.html())) return false;
                        $.getJSON(url, function(res){
//                    console.log("goods_res",res);
                            if (!res.succeed) return toast('获取数据失败，失败原因：'+res.message);
                            //               填充页面模板
//                    console.log(res.data);
                            tmplObj.html(template('goods_tmpl', res.data));

                            //              为下架按钮添加功能
                            tmplObj.find('.xiajia').on('click', function(){
                                var i = $(this).attr('data-i');
                                var vo = res.data.dataList[i];
                                winAlert({body:'您确定要'+(vo.status==1?'下架':'上架')+'么？',
                                    fun:function(){
                                        $.post('/store/goodsStatus', {id:vo.id, status:Number(!vo.status)},function(rs){
                                            try{rs=JSON.parse(rs);}catch(e){}
                                            if (!rs.succeed) return toast('操作失败，失败原因：'+rs.message);
                                            loadpage(tmpl);
                                            toast('操作成功,重新加载中...', 'success');
                                        });
                                        return true;
                                    }, cancel:'取消'});
                            });


                            //              为修改商品按钮附上修改商品的功能
                            editgoods(res.data.dataList, tmplObj, tmpl);
//                  为保存商品按钮附上保存商品的功能
                            savegoods(res.data.dataList, tmplObj, tmpl);
                            //              给页码部分附上功能
                            topage(tmpl);
                        });
                        break;
                }

                $("#search_a").off().on("click",function (e) {
                    e.preventDefault();
                    var goodsPinyin=$("#searchStr").val();
//            console.log("goodsNameContent",goodsNameContent);
                    //    这里调用了boostrap的tap(),实现了标签页的功能呢;
                    $(this).tab('show');
                    var tmpl = 'searchGoodList';
//            console.log("e.target.hash",e.target.hash);
                    $("#"+tmpl).data("goodsPinyin",goodsPinyin);
                    $("#"+tmpl).attr('page',1);
//            console.log(tmpl);
                    loadpage(tmpl);
                });
            }

            //给页码附上换页功能
            function topage(tmpl){
                //    为所有的页码添加click事件
                $('.tab-pane.active .pagination a').on('click', function(){
                    //      将被点击页码的href属性值赋给正在活动中的列表的page属性
                    $('.tab-pane.active').attr('page', $(this).attr('href'));
                    //      调用loadpage函数刷新页面数据
                    loadpage(tmpl);
                    return false;
                });
            }

            //为修改、新增商品按钮附上修改商品的功能
            function editgoods(dataList, tmplObj, tmpl){
                tmplObj.find('.tabright .btn, .edit').off().on('click', function(){
                    var i = $(this).attr('data-i');
                    var vo = i ? dataList[i]:{};
                    var shopId=$("#shopList").data("shopId");
//            console.log("shopId",shopId);
                    $.getJSON('goodsTypeList?ps=1000&shopId='+shopId, function(res){
                        if (!res.succeed) return toast('获取商品分类失败，失败原因：'+res.message);
                        vo.lists = res.data.dataList;
//                console.log('shopList',shopList);
                        vo.shopList=shopList.shopList;
                        //          狗日的data来自footer.html，老子找了有十来分钟
                        vo.printList = data.printList;
//                console.log(568,"vo=",vo);
                        //          填充页面模板
                        tmplObj.html(template('goods_edit_tmpl', vo));

                        //	        根据数据设置打印区域的选中状态
                        if (vo.print) {
                            var print = vo.print.split(',');
                            $.each(print, function(i,v){
                                $(':input[name=print][value='+v+']').prop('checked','checked');
                            });
                        }
//              根据数据库数据设置单位选中状态
                        if(vo.units){
                            $(':input[name=units][value='+vo.units+']').prop('checked','checked');
                        }
                        if(vo.shopId){
                            $(':input[name=shopId][value='+vo.shopId+']').prop('checked','checked');
                        }
                        /*            $('.type').on('change', function(){
                                        var val = $(this).val();
                                        if (val==0) {
                                            $('#jftr').hide();
                                        } else {
                                            $('#jftr').show();
                                        }
                                    });*/

                        //	        为商品图片部分添加模板
                        tmplObj.find('#yulantu').html(template('ylt_tmpl', {url:vo.goodsLogo||''}));

                        //	        为表单部分添加上数据验证和提交数据的功能
                        checkfrom(function(para){
                            para.goodsCommonPrice *= 100;
                            para.goodsMemberPrice *= 100;
                            console.log("para",para);
                            $.post('goodsSave', para, function(rs){
                                try{rs=JSON.parse(rs);}catch(e){}
                                if (!rs.succeed) return toast('操作失败，失败原因：'+rs.message);
                                toast('操作成功,重新加载中...', 'success');
                                loadpage(tmpl);
                            });
                        });

                        //	        调用上传插件生成上传按钮
                        function upload(){
                            var uploader = WebUploader.create({
                                swf: '/public/store/Uploader.swf',auto: true,
                                server: '/uploadFile', fileVal: 'uploadFile',
                                pick:{label:'<button type="button" class="btn gn_btn" style="height:50px;">上传</button>',id:tmplObj.find('#picker')},
                                resize: false, // 不压缩image, 默认如果是jpeg，文件上传前会压缩一把再上传！
                                accept: {
                                    title: 'Images',
                                    extensions: 'gif,jpg,jpeg,bmp,png',
                                    mimeTypes: 'image/*'
                                }
                            });
                            uploader.on('uploadSuccess', function(file, res) {
                                if (!res.succeed) return toast('上传失败，失败原因：'+res.message);
                                $('#yulantu').html(template('ylt_tmpl', res.data));
                                uploader = null;
                                upload();
                            });
                        }

                        upload();
                    });
                });
            }

            //为保存按钮附上保存商品价格功能
            function savegoods(dataList, tmplObj, tmpl) {
                tmplObj.find('.save').off().on('click', function(){
                    var i=$(this).data().i;
                    var good=dataList[i];
                    good.goodsMemberPrice=parseFloat($("[name=memberPrice"+good.goodsId+"]").val())*100;
                    good.goodsCommonPrice=parseFloat($("[name=commonPrice"+good.goodsId+"]").val())*100;
                    $.post('goodsSave', good, function(rs){
                        try{rs=JSON.parse(rs);}catch(e){}
                        if (!rs.succeed) return toast('操作失败，失败原因：'+rs.message);
                        toast('操作成功,重新加载中...', 'success');
                        loadpage(tmpl);
                    });
                })
            }

            //为修改、新增积分商品按钮附上修改积分商品的功能
            function editjifen(dataList, tmplObj, tmpl){
                tmplObj.find('.tabright .btn, .edit').on('click', function(){
                    var i = $(this).attr('data-i');
                    var vo = i ? dataList[i]:{};
                    $.getJSON('goodsTypeList?ps=1000', function(res){
                        if (!res.succeed) return toast('获取商品分类失败，失败原因：'+res.message);
                        vo.lists = res.data.dataList;
                        //          狗日的data来自footer.html
                        vo.printList = data.printList;
//                console.log("vo=",vo);

                        //          填充页面模板
                        tmplObj.html(template('jifen_edit_tmpl', vo));

                        //	        根据数据设置打印区域的选中状态
                        if (vo.print) {
                            var print = vo.print.split(',');
                            $.each(print, function(i,v){
                                $(':input[name=print][value='+v+']').prop('checked','checked');
                            });
                        }

                        //	        为商品图片部分添加模板
                        tmplObj.find('#yulantu').html(template('ylt_tmpl', {url:vo.goodsLogo||''}));

                        //	        为表单部分添加上数据验证和提交数据的功能
                        checkfrom(function(para){
                            para.goodsCommonPrice *= 100;
                            para.goodsMemberPrice *= 100;
                            $.post('goodsScoreSave', para, function(rs){
                                try{rs=JSON.parse(rs);}catch(e){}
                                if (!rs.succeed) return toast('操作失败，失败原因：'+rs.message);
                                toast('操作成功,重新加载中...', 'success');
                                loadpage(tmpl);
                            });
                        });

                        //	        调用上传插件生成上传按钮
                        function upload(){
                            var uploader = WebUploader.create({
                                swf: '/public/store/Uploader.swf',auto: true,
                                server: '/uploadFile', fileVal: 'uploadFile',
                                pick:{label:'<button type="button" class="btn gn_btn" style="height:50px;">上传</button>',id:tmplObj.find('#picker')},
                                resize: false, // 不压缩image, 默认如果是jpeg，文件上传前会压缩一把再上传！
                                accept: {
                                    title: 'Images',
                                    extensions: 'gif,jpg,jpeg,bmp,png',
                                    mimeTypes: 'image/*'
                                }
                            });
                            uploader.on('uploadSuccess', function(file, res) {
                                if (!res.succeed) return toast('上传失败，失败原因：'+res.message);
                                $('#yulantu').html(template('ylt_tmpl', res.data));
                                uploader = null;
                                upload();
                            });
                        }
                        upload();
                    });
                });
            }

            loadpage();

//    console.log($("#test"));

            $("#test").on("click", function (e) {

            })
        });
    }]);